// class Queue {
//   promise = Promise.resolve();

//   excute(promise) {
//     this.promise = this.promise.then(() => promise);
//     return this.promise;
//   }
// }

// const queue = new Queue();

// const delay = (params) => {
//   const time = Math.floor(Math.random() * 5);
//   return new Promise((resolve) => {
//     setTimeout(() => {
//       resolve(params);
//     }, time * 500);
//   });
// };

// const handleClick = async (name) => {
//   const res = await queue.excute(delay(name));
//   console.log(res);
// };

// handleClick('A');
// handleClick('B');
// handleClick('C');
// handleClick('A');
// handleClick('C');
// handleClick('B');

// console.log(1);
// console.log(2);
// console.log(3);
// console.log(4);
// console.log(5);

// setTimeout(()=>{
//   console.log(1)
// })

// new Promise((resolve) => {
//   console.log(2);
//   resolve();
// }).then(()=>{
//   console.log(3);
//   setTimeout(()=>{
//     console.log(4)
//   })
// });
// console.log(5);

// new Promise((resolve) => {
//   console.log(11111);
//   resolve();
// }).then((resolve)=>{
//   console.log(22222);
// }).then((resolve)=>{
//   console.log(33333);
// });

// new Promise((resolve) => {
//   console.log(444444);resolve();
// }).then((resolve)=>{
//   console.log(55555);
// })

function a () {
  console.log('111')
}
a();
function a() {
  console.log('2222')
}
a();
